#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char* GetMemory(void)
{
	char p[] = "hello world";

	return p;
}

void test(void)
{
	char* str = NULL;
	str = GetMemory();
	printf(str);
}

int main()
{
	test();

	return 0;
}


//char* GetMemory(void)
//{
//	char* p = (char* )malloc(100);
//	return p;
//}
//
//void test(void)
//{
//	char* ptr = NULL;
//	ptr = GetMemory();
//	memcpy(ptr, "HelloWorld", 11);
//	printf(ptr);
//	free(ptr);
//
//	ptr = NULL;
//}
//
//int main()
//{
//	test();
//
//	return 0;
//}












//calloc

//int main()
//{
//	int* p = (int*)calloc(5, 4);
//	if (p == NULL)
//	{
//		perror("calloc");
//		return 1;
//	}
//
//	for (int i = 0; i < 5; i++)
//	{
//		p[i] = i + 2;
//	}
//
//	free(p);
//	p = NULL;
//
//	return 0;
//}


//malloc

//int main()
//{
//	int* p = (int*)malloc(sizeof(int) * 5);
//
//	if (p == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	for (int i = 0; i < 5; i++)
//	{
//		p[i] = i + 1;
//	}
//	free(p);
//	p = NULL;
//
//	return 0;
//}

